package com.ruoyi.pack.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 器具操作记录对象 pack_container_operation_log
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public class PackContainerOperationLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 日志ID */
    private Long logId;

    /** 器具ID */
    @Excel(name = "器具ID")
    private Long containerId;

    /** 操作类型（1-新增 2-定位器绑定 3-定位器解绑 4-清洗 5-折叠整理 6-装箱 7-拆箱 8-封存 9-解封 10-维修 11-检查） */
    @Excel(name = "操作类型", readConverterExp = "1=新增,2=定位器绑定,3=定位器解绑,4=清洗,5=折叠整理,6=装箱,7=拆箱,8=封存,9=解封,10=维修,11=检查")
    private String operationType;

    /** 操作人员ID */
    @Excel(name = "操作人员ID")
    private Long operatorId;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date operationTime;

    /** 操作仓库ID */
    @Excel(name = "操作仓库ID")
    private Long warehouseId;

    /** 操作位置纬度 */
    @Excel(name = "操作位置纬度")
    private BigDecimal latitude;

    /** 操作位置经度 */
    @Excel(name = "操作位置经度")
    private BigDecimal longitude;

    /** 操作详情（JSON格式） */
    @Excel(name = "操作详情")
    private String operationDetail;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 操作人员姓名 */
    @Excel(name = "操作人员姓名")
    private String operatorName;

    /** 操作仓库名称 */
    @Excel(name = "操作仓库名称")
    private String warehouseName;

    /** 操作描述 */
    @Excel(name = "操作描述")
    private String operationDescription;

    /** 器具对象 */
    private PackContainer container;

    /** 操作仓库对象 */
    private PackWarehouse warehouse;

    public void setLogId(Long logId) 
    {
        this.logId = logId;
    }

    public Long getLogId() 
    {
        return logId;
    }
    public void setContainerId(Long containerId) 
    {
        this.containerId = containerId;
    }

    public Long getContainerId() 
    {
        return containerId;
    }
    public void setOperationType(String operationType) 
    {
        this.operationType = operationType;
    }

    public String getOperationType() 
    {
        return operationType;
    }
    public void setOperatorId(Long operatorId) 
    {
        this.operatorId = operatorId;
    }

    public Long getOperatorId() 
    {
        return operatorId;
    }
    public void setOperationTime(Date operationTime) 
    {
        this.operationTime = operationTime;
    }

    public Date getOperationTime() 
    {
        return operationTime;
    }
    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }
    public void setLatitude(BigDecimal latitude) 
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude() 
    {
        return latitude;
    }
    public void setLongitude(BigDecimal longitude) 
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude() 
    {
        return longitude;
    }
    public void setOperationDetail(String operationDetail) 
    {
        this.operationDetail = operationDetail;
    }

    public String getOperationDetail() 
    {
        return operationDetail;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public PackContainer getContainer() 
    {
        return container;
    }

    public void setContainer(PackContainer container) 
    {
        this.container = container;
    }

    public PackWarehouse getWarehouse() 
    {
        return warehouse;
    }

    public void setWarehouse(PackWarehouse warehouse) 
    {
        this.warehouse = warehouse;
    }

    public String getOperatorName() 
    {
        return operatorName;
    }

    public void setOperatorName(String operatorName) 
    {
        this.operatorName = operatorName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("logId", getLogId())
            .append("containerId", getContainerId())
            .append("operationType", getOperationType())
            .append("operatorId", getOperatorId())
            .append("operationTime", getOperationTime())
            .append("warehouseId", getWarehouseId())
            .append("latitude", getLatitude())
            .append("longitude", getLongitude())
            .append("operationDetail", getOperationDetail())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
} 